package com.njtoyo.taxi.admin.service.business.operation_rule;

import com.njtoyo.taxi.admin.mapper.master.entity.OnlineValuationRule;
import com.njtoyo.taxi.admin.mapper.master.entity.VehicleOnlineValuationRule;
import com.njtoyo.taxi.admin.rest.wrapper.business.operation_rule.vehicle_online_valuation.VehicleOnlineValuationAddUpdateWrapper;
import com.njtoyo.taxi.admin.rest.wrapper.business.operation_rule.vehicle_online_valuation.VehicleOnlineValuationMockPricingWrapper;
import com.njtoyo.taxi.entity.backend.AdminUser;
import com.taxi.entity.common.RestResult;

import java.util.List;

/**
 * @author mdf
 * @title: OnlineValuationRuleService
 * @description: TODO
 * @date 2025/2/8 17:11
 */
public interface VehicleOnlineValuationRuleService {
    RestResult page(Integer current, Integer size, String driverRegionId, Boolean isActive);

    RestResult add(VehicleOnlineValuationAddUpdateWrapper wrapper, AdminUser adminUser);

    RestResult getDetailById(String id);

    RestResult update(VehicleOnlineValuationAddUpdateWrapper wrapper, AdminUser adminUser);

    RestResult switchIsActive(VehicleOnlineValuationRule rule);

    List<VehicleOnlineValuationRule> selectByDriverRegionIdOpen(Long driverRegionId, Long ruleId,Long callTypeId);

    VehicleOnlineValuationRule selectOneById(Long id);


    RestResult mockPricing(VehicleOnlineValuationMockPricingWrapper mockPricing);

    RestResult checkDriverRegionIsActive(String driverRegionId, Long callTypeId);

    RestResult switchCanEditPrice(VehicleOnlineValuationRule rule);

    RestResult copyRule(Long ruleId, Long driverRegionId);
}
